$f: 19.2;

.home {
  position: relative;
  width: 100%;

  .banner {
    position: relative;

    img {
      width: 100%;
      display: block;
      object-fit: cover;
    }

    .text {
      position: absolute;
      left: 190/$f+vw;
      top: 55%;
      transform: translateY(-50%);

      .p1 {
        background: linear-gradient(180deg, rgba(56, 110, 181, 0.50) 35.29%, rgba(255, 255, 255, 0.00) 84.31%);
        background-clip: text;
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
        font-size: 40/$f+vw;
        text-transform: uppercase;
        font-family: 'PingFang';
        font-weight: 600;
      }

      .p2 {
        color: #386EB5;
        font-size: 48/$f+vw;
        font-weight: 700;
        margin-top: -1vw;
      }
    }
  }

  .main {
    margin: 57/$f+vw 190/$f+vw;

    .types {
      display: flex;
      justify-content: flex-end;

      a {
        color: #333;
        font-size: 24/$f+vw;
        margin-left: 65/$f+vw;
        position: relative;
        transition: all 600ms;
        padding-bottom: 0.3vw;

        &::after {
          content: '';
          display: block;
          position: absolute;
          left: 0;
          bottom: 0;
          width: 0;
          transition: all 600ms;
          height: 1px;
          background: rgba(20, 110, 184, 1);
        }

        &:hover {
          color: #386EB5;

          &::after {
            width: 100%;
          }
        }
      }

      .active {
        color: #386EB5;

        &::after {
          width: 100%;
        }
      }
    }

    .recommend {
      margin: 112/$f+vw 0;
      position: relative;

      .swiper-container {
        width: 100%;

        a {
          display: flex;
          justify-content: space-between;

          .pic {
            width: 50%;
            overflow: hidden;

            img {
              width: 100%;
              display: block;
              object-fit: cover;
              transition: all 600ms;
            }
          }

          .info {
            width: 46%;

            .time {
              color: #999;
              font-size: 30/$f+vw;
              border-bottom: 1px solid #146EB8;
              padding-bottom: 20/$f+vw;
              position: relative;

              span {
                color: #000;
              }
            }

            .st {
              color: #000;
              font-size: 38/$f+vw;
              font-weight: 600;
              line-height: 1.4;
              margin: 30/$f+vw 0;
            }

            .des {
              color: #464646;
              font-size: 22/$f+vw;
              line-height: 1.7;
              font-family: 'SourceHanSansCN-Light';
              word-break: break-all;
              text-overflow: ellipsis;
              display: -webkit-box;
              -webkit-box-orient: vertical;
              -webkit-line-clamp: 2;
              overflow: hidden;
            }

            .more {
              margin-top: 45/$f+vw;
              display: flex;
              align-items: center;
              color: #386EB5;
              font-size: 18/$f+vw;

              .icon {
                width: 40/$f+vw;
                height: 40/$f+vw;
                border-radius: 50%;
                background: #E0E5E9;
                margin-left: 1vw;
                position: relative;
                transition: all 600ms;
                img{
                  width: 40/$f+vw;
                  display: block;
                  position: absolute;
                  left: -0.8vw;
                  top:50%;
                  transform: translateY(-50%);
                  transition: all 600ms;
                }
              }
              &:hover{
                .icon{
                  transform: scale(1.1);
                  img{
                    left: -0.2vw;
                  }
                }
              }
            }
          }

          &:hover {
            .pic {
              img {
                transform: scale(1.05);
              }
            }
          }
        }
      }

      .swiper-pagination {
        position: absolute;
        right: 0;
        bottom: 0;
        display: flex;
        width: fit-content;
        z-index: 10;

        .swiper-pagination-bullet {
          width: 70/$f+vw;
          height: 4/$f+vw;
          background: #D9D9D9;
          opacity: 1;
          margin-right: 5px;
          position: relative;
          border-radius: 0;

          &::before {
            content: '';
            display: block;
            position: absolute;
            left: 0;
            top: 0;
            width: 0;
            height: 4/$f+vw;
            background: #386EB5;
          }
        }


        .swiper-pagination-bullet-active {
          &::before {
            animation: long 5s infinite linear;
          }
        }

        @keyframes long {
          to {
            width: 100%;
          }
        }
      }
    }

    .list {
      display: flex;
      flex-wrap: wrap;
      width: 106.4%;
      margin-left: -3.2%;

      a {
        display: block;
        width: 29%;
        margin-left: 3.2%;
        margin-bottom: 67/$f+vw;

        .time {
          color: #999;
          font-size: 30/$f+vw;
          border-bottom: 1px solid rgba(88, 88, 88, 0.70);
          padding-bottom: 5/$f+vw;
          position: relative;

          &::after {
            content: '';
            display: block;
            position: absolute;
            left: 0;
            bottom: 0;
            width: 0;
            height: 1px;
            background: #386EB5;
            transition: all 600ms;
          }

          span {
            color: #000;
          }
        }

        .st {
          color: rgba(85, 85, 85, 1);
          font-size: 20/$f+vw;
          margin: 41/$f+vw 0 26/$f+vw 0;
          overflow: hidden;
          text-overflow: ellipsis;
          white-space: nowrap;
        }

        .pic {
          overflow: hidden;

          img {
            width: 100%;
            display: block;
            object-fit: cover;
            transition: all 600ms;
          }
        }

        &:hover {
          .time {
            &::after {
              width: 100%;
            }
          }

          .pic {
            img {
              transform: scale(1.05);
            }
          }
        }
      }
    }

    .pager {
      display: flex;
      justify-content: center;
      align-items: center;

      a {
        .icon {
          width: 40/$f+vw;
          height: 40/$f+vw;
          border-radius: 50%;
          background: #E0E5E9;
          margin-left: 1vw;
          position: relative;
          transition: all 600ms;
          img{
            width: 40/$f+vw;
            display: block;
            position: absolute;
            top:50%;
            transform: translateY(-50%);
            transition: all 600ms;
          }
        }
      }
      .next{
        .icon{
          img{
            left: -0.8vw;
          }
        }
        &:hover{
          .icon{
            transform: scale(1.1);
            img{
              left: -0.2vw;
            }
          }
        }
      }
      .prev{
        .icon{
          img{
            right: -0.8vw;
          }
        }
        &:hover{
          .icon{
            transform: scale(1.1);
            img{
              right: -0.2vw;
            }
          }
        }
      }

      .nums {
        margin-right: 26/$f+vw;

        a {
          color: #CFCFCF;
          font-size: 18/$f+vw;
          margin-left: 26/$f+vw;
        }

        .active {
          color: #386EB5;
        }
      }
    }
  }


  @media screen and (max-width: 1024px) {
    padding-top: 60px;

    .banner {
      img {
        height: 150px;
      }

      .text {
        left: 5%;
        top: 50%;

        .p1 {
          font-size: 20px;
        }

        .p2 {
          font-size: 20px;
          margin-top: -10px;
        }
      }
    }

    .main {
      margin: 30px 5%;

      .types {
        a {
          font-size: 18px;
          margin-left: 20px;
        }
      }

      .recommend {
        margin: 30px 0 50px 0;

        .swiper-container {
          a {
            flex-direction: column;

            .pic {
              width: 100%;
            }

            .info {
              width: 100%;
              margin-top: 15px;
              padding-bottom: 10px;
              .time {
                font-size: 18px;
                padding-bottom: 10px;
              }

              .st {
                font-size: 18px;
                margin: 15px 0 5px 0;
              }

              .des {
                font-size: 16px;
              }

              .more {
                margin-top: 20px;
                font-size: 16px;
                .icon{
                  width: 30px;
                  height: 30px;
                  margin-left: 20px;
                  img{
                    width: 30px;
                    left: -15px;
                  }
                }
                &:hover{
                  .icon{
                    img{
                      left: -3px;
                    }
                  }
                }
              }
            }
          }
        }

        .swiper-pagination {
          .swiper-pagination-bullet {
            width: 50px;
            height: 3px;

            &::before {
              height: 3px;
            }
          }
        }
      }

      .list {
        width: 100%;
        margin-left: 0;

        a {
          width: 100%;
          margin-left: 0;
          margin-bottom: 30px;

          .time {
            font-size: 18px;
            padding-bottom: 5px;
          }

          .st {
            font-size: 16px;
            margin: 20px 0 10px 0;
          }
        }
      }

      .pager {
        .prev{
          .icon{
            width: 30px;
            height: 30px;
            margin-right: 15px;
            img{
              width: 30px;
              right: -15px;
            }
          }
          &:hover{
            .icon{
              img{
                right: -3px;
              }
            }
          }
        }
        .next{
          .icon{
            width: 30px;
            height: 30px;
            margin-left: 15px;
            img{
              width: 30px;
              left: -15px;
            }
          }
          &:hover{
            .icon{
              img{
                left: -3px;
              }
            }
          }
        }
        .nums {
          margin-right: 15px;

          a {
            font-size: 16px;
            margin-left: 15px;
          }
        }
      }
    }
  }
}